import type { IMemberInfo } from "./IMemberInfo";
import { IMemberViewDelegate } from "./IMemberViewDelegate";

export abstract class IMember {
  abstract get info(): IMemberInfo;
  abstract set info(v: IMemberInfo);
  abstract get username(): string;
  abstract get element(): IMemberViewDelegate | null;
  abstract destructor(): void;
  abstract remove_track(track: MediaStreamTrack): this;
  abstract add_track(track: MediaStreamTrack): this;
  abstract set_view(element: IMemberViewDelegate | null): this;
}
